jstl <c:if 使用问题

来源:百度知道 编辑:UC知道 时间:2024/05/22 12:27:44
下面来自于 网盟留言本jsp v1.0 中的代码:
是判断如果用户登录了,就可以显示"回复" 和"删除",这两个链接.

<c:if test="${!empty login}">| <a href="reply.jsp?id=<%=rs.getString("id")%>">回复</a> | <a href="del.jsp?id=<%=rs.getString("id")%>" onclick="javascript:return confirm('Delete message!\nAre you sure?');">删除</a></c:if>

请问上述代码中:

${!empty login} ,这里的login是什么东西 ,如何理解

${!empty login} 应该是他定义的一个代表“非 空登录的”值,即已经登录。
login就是登录咯。

这里的意思应该就是:如果没有登录,那么

<a href="reply.jsp?id=<%=rs.getString("id")%>">回复</a> | <a href="del.jsp?id=<%=rs.getString("id")%>" onclick="javascript:return confirm('Delete message!\nAre you sure?');">删除</a>

这些内容就不显示了。

建议楼主:原理懂就可以了,没必要完全看别人的代码

login是个对象吧,里面存储了登陆用户的用户名,密码,以及其他信息,判断不是空的话,就显示,也就是你只有登陆成功,login里面才有东西,!empty login,判断login不是空的话(表示登陆成功),就显示回复和删除.

一般在Servlet里面用session.setAttribute赋值,你在JSP页面上才能取得到这个值.

login 是一个对象

该对象是在服务器端的servlet中通过setAttribute(String,Object)设置到request或者session中的

在jsp中“${!empty login}”中empty 关键字是判断login变量是否为null,如果login对象为null “empty login” 表达式就返回true,否者返回false

前面的“!”自然就是取反的意思